<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise使用方式</title>
</head>
<body>
    <script>
        // //es5之前的调用方式
        // function task(counter,successCb,failiedCb)
        // {
            
        //     setTimeout(()=>{
        //        if(counter>0)
        //        {
        //           let sum = 0;
        //           for(let i = 0;i<=50;i++)
        //           {
        //               sum+=i;
        //           }
        //           successCb(sum);
        //        }
        //        else
        //        {
        //           failiedCb();
        //        }
        //     },3000);
        // }
        
        // //每次调用都要传入回调函数
        // // task(1,(reval)=>{
        // //     console.log(reval);
        // // },()=>{
        // //     console.log("异步调用失败");
        // // })
        
        // task(0,(reval)=>{
        //     console.log(reval);
        // },()=>{
        //     console.log("异步调用失败");
        // })
        
        function execute(counter)
        {
             let newPromise = new Promise((resolve,reject)=>{
              setTimeout(() => {
                   if(counter>0)
                   { 
                      let sum = 0;
                      for(let i = 0;i<=50;i++)
                      {
                          sum+=i;
                      }
                      resolve(sum);     
                   }
                   else
                   {
                     reject();
                   }
               }, 3000);
            })

            return newPromise;
        }

    execute(0).then((reval)=>{
        console.log(reval);
    }).catch((reval)=>{
        console.log(`报错`);
        reval+=10;
        return reval;
    }).catch((reval)=>{
        console.log(reval);
    })

    // execute(1).then((reval)=>{
    //     reval+=10;
    //     return reval;
    // }).then((reval)=>{
    //     console.log(reval);
    //     reval+=1000;
    //     return reval;
    // }).then((reval)=>{
    //     console.log(reval);
    // })
        
    </script>
</body>
</html>